#!/bin/bash

# 定义 SillyTavern 的安装路径
SILLY_TAVERN_PATH="$HOME/SillyTavern"
EXTENSIONS_PATH="$SILLY_TAVERN_PATH/public/scripts/extensions/third-party" # 修改为正确的 third-party 目录
CUSTOM_MODELS_REPO="https://gitee.com/chengmingawa/silly-tavern-custom-models-chengmingfork.git" # 修改为您的 Gitee fork 地址
CUSTOM_MODELS_DIR_NAME="silly-tavern-custom-models-chengmingfork" # 修改为您的 fork 克隆后的目录名

# 检查 SillyTavern 目录是否存在
if [ ! -d "$SILLY_TAVERN_PATH" ]; then
  echo "错误：SillyTavern 目录 '$SILLY_TAVERN_PATH' 不存在。"
  exit 1
fi

# 检查 extensions 目录是否存在，如果不存在则创建
if [ ! -d "$EXTENSIONS_PATH" ]; then
  echo "信息：目标扩展目录 '$EXTENSIONS_PATH' 不存在，正在创建..."
  mkdir -p "$EXTENSIONS_PATH"
  if [ $? -ne 0 ]; then
    echo "错误：无法创建目标扩展目录 '$EXTENSIONS_PATH'。"
    exit 1
  fi
fi

# 切换到 extensions 目录
cd "$EXTENSIONS_PATH" || exit 1

# 检查插件目录是否已存在
if [ -d "$CUSTOM_MODELS_DIR_NAME" ]; then
  echo "信息：插件目录 '$CUSTOM_MODELS_DIR_NAME' 已存在。尝试更新..."
  cd "$CUSTOM_MODELS_DIR_NAME" || exit 1
  git pull
  if [ $? -ne 0 ]; then
      echo "警告：无法更新插件。可能需要手动解决冲突。"
  else
      echo "插件更新成功。"
  fi
else
  # 克隆插件仓库
  echo "正在克隆 CustomModels 插件..."
  git clone "$CUSTOM_MODELS_REPO"
  if [ $? -ne 0 ]; then
    echo "错误：克隆插件仓库失败。"
    exit 1
  fi
  echo "CustomModels 插件安装成功。"
fi

echo "脚本执行完毕。"